/**
 * @time: 2020-10-08 20:11
 * @author: likunlun
 * @description: super测试
 */
public class Student extends Person {
	String major;
	int id = 2; //父类和子类有相同的id属性

	public Student() {
	}

	public Student(String major) {
		/**
		 * 1、这里没有super();，其实是省略掉了，通过该关键字，会调用父类中代码：
		 * 	public Person(){ }
		 */
		this.major = major;
	}


	/**
	 * 1、第三种构造方式
	 * 2、在该构造方式中，参数name,age都没有在本类中定义，使用的是
	 * 父类中属性。我们建议使用 super(name, age); 方式进行赋值。
	 */
	public Student(String name, int age, String major, int id) {
		super(name, age);
		this.major = major;
		this.id = id;
	}

	//重写父类的方法
	@Override
	public void eat() {
		System.out.println("学生，吃饭................");
		//使用 super.方法 的方式，调用父类被重写的方法。
		super.eat();
	}

	public void study() {
		System.out.println("学生，学习................");
	}

	public void show() {
		System.out.println("this.id = " + this.id);
		//使用 super.属性 的方式，调用父类的属性。
		System.out.println("super.id = " + super.id);
	}
}
